package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.OrderBean;

import java.time.LocalDate;
import java.util.List;

public interface IOrderService {
    public  int PAGESIZE=3;
    /**
     * 添加新的订单，增加订单明细，同时清空该用户的购物车信息
     * @param orderBean
     * @Oaram userId 登录用户的ID
     */
    public   void  add(OrderBean orderBean,Integer userId);

    /**
     * 根据用户ID分页查询某个用户的所有订单
     * @param userId 用户ID
     * @param pageNO 页码
     * @return 分页对象
     */
    public IPage<OrderBean>findByUser(Integer userId,int pageNO);

    /**
     * 根据订单ID查询该订单的明细，在订单明细中需要查询购买商品编号，商品名 单价
     * @param orderId 订单ID
     * @return 订单对象
     */
    public  OrderBean findById(int orderId);

    /**
     * 管理员权限 动态查询所有订单
     * @param status 订单状态
     * @param startDate 起始日期
     * @param endDate 结束日期
     * @param pageNO 页码
     * @return 分页对象
     */
    public IPage<OrderBean> findByItem(int pageNO,String status, LocalDate startDate, LocalDate endDate);

    /**
     * 修改订单状态
     * @param orderId 订单ID
     * @param status 订单状态
     */
    public  void  updateStatus(int orderId,String status);

    /**
     * 查询所有“发货中”的订单
     * @return
     */
    public List<OrderBean>findBySend();



}
